package model
{
	import control.ItemFactory;
	
	public class ItemPage
	{
		//当前页号
		private var _currentPage:uint=1;
		//总共的页数
		private var _totalPage:uint=0;
		//每页显示的个数
		private var _pageSize:uint=36;
		//物品列表，存储全部物品
		private var _itemList:Array;
		//物品总个数
		private var _totalItem:uint;
		
		public function ItemPage(itemList:Array)
		{
			this._itemList=itemList;
			this._totalPage=uint(_totalItem/_pageSize)+1;
			this._totalItem=this.totalItem;
		}

		/**
		 * 从物品数组中分裂出一个分页，pangeNo是分页号
		 */
		public function getPage(pageNo:uint):Array{
			var page:Array=new Array();
			//页号是否合法：页号不超过总页号
			if(pageNo<=_totalPage){
				//从物品数组中获得当前分页的开始和结束下标
				var startIndex:uint=(pageNo-1)*_pageSize;
				var stopIndex:uint=startIndex+_pageSize;
				for(var i:uint=startIndex;i<stopIndex&&i<_totalItem;i++){
					page.push(_itemList[i] as ItemInfo);
				}
				//当前页是否还有空位置
				var nullNum:uint=_pageSize-page.length;
				//如果当前页还有空位，则用空物品补满
				if(nullNum>0){
					//从工厂中获得空物品
					var nullItem:Array=ItemFactory.getNullItem(nullNum);
					page=page.concat(nullItem);//把空物品链接到后面
				}
				trace(page.length);
			}
			return page;
		}
		
		public function get totalItem():uint{
			return this._itemList.length;
		}
		
		public function get pageSize():uint{
			return this._pageSize;
		}
	}
}